For a modern electronic system to function properly, the system must start normal operations from a known, predictable state. Unfortunately, most state elements in electronic systems consist of volatile storage circuits and do not automatically power up to known, predictable states. In order for electronic systems with volatile storage circuits to function predictably or at all, designs of electronic system must perform initialization operations upon power up such that the electronic system can start or resume normal operations at known, predictable states.
In some electronic systems, such initialization involves application of a reset signal that drives state elements in the electronic system to an initialized state. However, in order for the system to then function correctly, the various state elements of the electronic system must leave the initialized state and enter normal operations in a predictable, coordinated manner. For electronic systems based on integrated circuits (ICs), this usually involves making sure that the reset signals to the state elements are synchronously lifted across ICs. For some ICs, this is can be satisfactorily addressed by adding buffer elements and pipeline elements on a global reset signal.
However, for an IC that includes a large number of state elements, making sure that the reset signals are synchronously lifted would require a large number of resources on the IC. This problem is particularly acute for ICs that include configurable circuits for implementing user designs, because routing these reset signals would require the consumption of large number configurable user resources such as look-up tables and routing multiplexers.
What is needed is a method or circuitry for use in an IC with configurable circuits that controls the start of user design operations upon initialization. Such a method or circuitry would allow the IC to start user design operations correctly without requiring the consumption of large number configurable user resources.